1 /* 2 * Copyright (C) 2006, 2007, 2008, 2009 Winfried Koehler 3 * Copyright (C) 2014 Akihiro Tsukada 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU Lesser General Public License as published by 7 * the Free Software Foundation version 2.1 of the License. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public License 15 * along with this program. if not, see <http://www.gnu.org/licenses/>. 16 * 17 */ 18 19 /** 20 * @file countries.h 21 * @ingroup ancillary 22 * @brief Provides ancillary code to convert ISO 3166-1 country codes 23 * @copyright GNU Lesser General Public License version 2.1 (LGPLv2.1) 24 * @author Winfried Koehler 25 * @author Akihiro Tsukada 26 * 27 * @par Bug Report 28 * Please submit bug reports and patches to linux-media@vger.kernel.org 29 */ 30 31 module libdvbv5_d.countries; 32 33 extern (C): 34 35 /** 36 * @enum dvb_country_t 37 * @brief ISO-3166-1 alpha-2 country code 38 * @ingroup ancillary 39 * 40 * @var COUNTRY_UNKNOWN 41 * @brief (Unknown Country) 42 * @var AD 43 * @brief Andorra 44 * @var AE 45 * @brief United Arab Emirates 46 * @var AF 47 * @brief Afghanistan 48 * @var AG 49 * @brief Antigua and Barbuda 50 * @var AI 51 * @brief Anguilla 52 * @var AL 53 * @brief Albania 54 * @var AM 55 * @brief Armenia 56 * @var AO 57 * @brief Angola 58 * @var AQ 59 * @brief Antarctica 60 * @var AR 61 * @brief Argentina 62 * @var AS 63 * @brief American Samoa 64 * @var AT 65 * @brief Austria 66 * @var AU 67 * @brief Australia 68 * @var AW 69 * @brief Aruba 70 * @var AX 71 * @brief Aland Islands 72 * @var AZ 73 * @brief Azerbaijan 74 * @var BA 75 * @brief Bosnia and Herzegovina 76 * @var BB 77 * @brief Barbados 78 * @var BD 79 * @brief Bangladesh 80 * @var BE 81 * @brief Belgium 82 * @var BF 83 * @brief Burkina Faso 84 * @var BG 85 * @brief Bulgaria 86 * @var BH 87 * @brief Bahrain 88 * @var BI 89 * @brief Burundi 90 * @var BJ 91 * @brief Benin 92 * @var BL 93 * @brief Saint Barthelemy 94 * @var BM 95 * @brief Bermuda 96 * @var BN 97 * @brief Brunei Darussalam 98 * @var BO 99 * @brief Plurinational State of Bolivia 100 * @var BQ 101 * @brief Bonaire, Saint Eustatius and Saba 102 * @var BR 103 * @brief Brazil 104 * @var BS 105 * @brief Bahamas 106 * @var BT 107 * @brief Bhutan 108 * @var BV 109 * @brief Bouvet Island 110 * @var BW 111 * @brief Botswana 112 * @var BY 113 * @brief Belarus 114 * @var BZ 115 * @brief Belize 116 * @var CA 117 * @brief Canada 118 * @var CC 119 * @brief Cocos (Keeling) Islands 120 * @var CD 121 * @brief The Democratic Republic of the Congo 122 * @var CF 123 * @brief Central African Republic 124 * @var CG 125 * @brief Congo 126 * @var CH 127 * @brief Switzerland 128 * @var CI 129 * @brief Cote d'Ivoire 130 * @var CK 131 * @brief Cook Islands 132 * @var CL 133 * @brief Chile 134 * @var CM 135 * @brief Cameroon 136 * @var CN 137 * @brief China 138 * @var CO 139 * @brief Colombia 140 * @var CR 141 * @brief Costa Rica 142 * @var CU 143 * @brief Cuba 144 * @var CV 145 * @brief Cape Verde 146 * @var CW 147 * @brief Curacao 148 * @var CX 149 * @brief Christmas Island 150 * @var CY 151 * @brief Cyprus 152 * @var CZ 153 * @brief Czech Republic 154 * @var DE 155 * @brief Germany 156 * @var DJ 157 * @brief Djibouti 158 * @var DK 159 * @brief Denmark 160 * @var DM 161 * @brief Dominica 162 * @var DO 163 * @brief Dominican Republic 164 * @var DZ 165 * @brief Algeria 166 * @var EC 167 * @brief Ecuador 168 * @var EE 169 * @brief Estonia 170 * @var EG 171 * @brief Egypt 172 * @var EH 173 * @brief Western Sahara 174 * @var ER 175 * @brief Eritrea 176 * @var ES 177 * @brief Spain 178 * @var ET 179 * @brief Ethiopia 180 * @var FI 181 * @brief Finland 182 * @var FJ 183 * @brief Fiji 184 * @var FK 185 * @brief Falkland Islands (Malvinas) 186 * @var FM 187 * @brief Federated States of Micronesia 188 * @var FO 189 * @brief Faroe Islands 190 * @var FR 191 * @brief France 192 * @var GA 193 * @brief Gabon 194 * @var GB 195 * @brief United Kingdom 196 * @var GD 197 * @brief Grenada 198 * @var GE 199 * @brief Georgia 200 * @var GF 201 * @brief French Guiana 202 * @var GG 203 * @brief Guernsey 204 * @var GH 205 * @brief Ghana 206 * @var GI 207 * @brief Gibraltar 208 * @var GL 209 * @brief Greenland 210 * @var GM 211 * @brief Gambia 212 * @var GN 213 * @brief Guinea 214 * @var GP 215 * @brief Guadeloupe 216 * @var GQ 217 * @brief Equatorial Guinea 218 * @var GR 219 * @brief Greece 220 * @var GS 221 * @brief South Georgia and the South Sandwich Islands 222 * @var GT 223 * @brief Guatemala 224 * @var GU 225 * @brief Guam 226 * @var GW 227 * @brief Guinea-Bissau 228 * @var GY 229 * @brief Guyana 230 * @var HK 231 * @brief Hong Kong 232 * @var HM 233 * @brief Heard Island and McDonald Islands 234 * @var HN 235 * @brief Honduras 236 * @var HR 237 * @brief Croatia 238 * @var HT 239 * @brief Haiti 240 * @var HU 241 * @brief Hungary 242 * @var ID 243 * @brief Indonesia 244 * @var IE 245 * @brief Ireland 246 * @var IL 247 * @brief Israel 248 * @var IM 249 * @brief Isle of Man 250 * @var IN 251 * @brief India 252 * @var IO 253 * @brief British Indian Ocean Territory 254 * @var IQ 255 * @brief Iraq 256 * @var IR 257 * @brief Islamic Republic of Iran 258 * @var IS 259 * @brief Iceland 260 * @var IT 261 * @brief Italy 262 * @var JE 263 * @brief Jersey 264 * @var JM 265 * @brief Jamaica 266 * @var JO 267 * @brief Jordan 268 * @var JP 269 * @brief Japan 270 * @var KE 271 * @brief Kenya 272 * @var KG 273 * @brief Kyrgyzstan 274 * @var KH 275 * @brief Cambodia 276 * @var KI 277 * @brief Kiribati 278 * @var KM 279 * @brief Comoros 280 * @var KN 281 * @brief Saint Kitts and Nevis 282 * @var KP 283 * @brief Democratic People's Republic of Korea 284 * @var KR 285 * @brief Republic of Korea 286 * @var KW 287 * @brief Kuwait 288 * @var KY 289 * @brief Cayman Islands 290 * @var KZ 291 * @brief Kazakhstan 292 * @var LA 293 * @brief Lao People's Democratic Republic 294 * @var LB 295 * @brief Lebanon 296 * @var LC 297 * @brief Saint Lucia 298 * @var LI 299 * @brief Liechtenstein 300 * @var LK 301 * @brief Sri Lanka 302 * @var LR 303 * @brief Liberia 304 * @var LS 305 * @brief Lesotho 306 * @var LT 307 * @brief Lithuania 308 * @var LU 309 * @brief Luxembourg 310 * @var LV 311 * @brief Latvia 312 * @var LY 313 * @brief Libyan Arab Jamahiriya 314 * @var MA 315 * @brief Morocco 316 * @var MC 317 * @brief Monaco 318 * @var MD 319 * @brief Republic of Moldova 320 * @var ME 321 * @brief Montenegro 322 * @var MF 323 * @brief Saint Martin (French part) 324 * @var MG 325 * @brief Madagascar 326 * @var MH 327 * @brief Marshall Islands 328 * @var MK 329 * @brief The Former Yugoslav Republic of Macedonia 330 * @var ML 331 * @brief Mali 332 * @var MM 333 * @brief Myanmar 334 * @var MN 335 * @brief Mongolia 336 * @var MO 337 * @brief Macao 338 * @var MP 339 * @brief Northern Mariana Islands 340 * @var MQ 341 * @brief Martinique 342 * @var MR 343 * @brief Mauritania 344 * @var MS 345 * @brief Montserrat 346 * @var MT 347 * @brief Malta 348 * @var MU 349 * @brief Mauritius 350 * @var MV 351 * @brief Maldives 352 * @var MW 353 * @brief Malawi 354 * @var MX 355 * @brief Mexico 356 * @var MY 357 * @brief Malaysia 358 * @var MZ 359 * @brief Mozambique 360 * @var NA 361 * @brief Namibia 362 * @var NC 363 * @brief New Caledonia 364 * @var NE 365 * @brief Niger 366 * @var NF 367 * @brief Norfolk Island 368 * @var NG 369 * @brief Nigeria 370 * @var NI 371 * @brief Nicaragua 372 * @var NL 373 * @brief Netherlands 374 * @var NO 375 * @brief Norway 376 * @var NP 377 * @brief Nepal 378 * @var NR 379 * @brief Nauru 380 * @var NU 381 * @brief Niue 382 * @var NZ 383 * @brief New Zealand 384 * @var OM 385 * @brief Oman 386 * @var PA 387 * @brief Panama 388 * @var PE 389 * @brief Peru 390 * @var PF 391 * @brief French Polynesia 392 * @var PG 393 * @brief Papua New Guinea 394 * @var PH 395 * @brief Philippines 396 * @var PK 397 * @brief Pakistan 398 * @var PL 399 * @brief Poland 400 * @var PM 401 * @brief Saint Pierre and Miquelon 402 * @var PN 403 * @brief Pitcairn 404 * @var PR 405 * @brief Puerto Rico 406 * @var PS 407 * @brief Occupied Palestinian Territory 408 * @var PT 409 * @brief Portugal 410 * @var PW 411 * @brief Palau 412 * @var PY 413 * @brief Paraguay 414 * @var QA 415 * @brief Qatar 416 * @var RE 417 * @brief Reunion 418 * @var RO 419 * @brief Romania 420 * @var RS 421 * @brief Serbia 422 * @var RU 423 * @brief Russian Federation 424 * @var RW 425 * @brief Rwanda 426 * @var SA 427 * @brief Saudi Arabia 428 * @var SB 429 * @brief Solomon Islands 430 * @var SC 431 * @brief Seychelles 432 * @var SD 433 * @brief Sudan 434 * @var SE 435 * @brief Sweden 436 * @var SG 437 * @brief Singapore 438 * @var SH 439 * @brief Saint Helena, Ascension and Tristan da Cunha 440 * @var SI 441 * @brief Slovenia 442 * @var SJ 443 * @brief Svalbard and Jan Mayen 444 * @var SK 445 * @brief Slovakia 446 * @var SL 447 * @brief Sierra Leone 448 * @var SM 449 * @brief San Marino 450 * @var SN 451 * @brief Senegal 452 * @var SO 453 * @brief Somalia 454 * @var SR 455 * @brief Suriname 456 * @var SS 457 * @brief South Sudan 458 * @var ST 459 * @brief Sao Tome and Principe 460 * @var SV 461 * @brief El Salvador 462 * @var SX 463 * @brief Sint Maarten (Dutch part) 464 * @var SY 465 * @brief Syrian Arab Republic 466 * @var SZ 467 * @brief Swaziland 468 * @var TC 469 * @brief Turks and Caicos Islands 470 * @var TD 471 * @brief Chad 472 * @var TF 473 * @brief French Southern Territories 474 * @var TG 475 * @brief Togo 476 * @var TH 477 * @brief Thailand 478 * @var TJ 479 * @brief Tajikistan 480 * @var TK 481 * @brief Tokelau 482 * @var TL 483 * @brief Timor-Leste 484 * @var TM 485 * @brief Turkmenistan 486 * @var TN 487 * @brief Tunisia 488 * @var TO 489 * @brief Tonga 490 * @var TR 491 * @brief Turkey 492 * @var TT 493 * @brief Trinidad and Tobago 494 * @var TV 495 * @brief Tuvalu 496 * @var TW 497 * @brief Taiwan, Province of China 498 * @var TZ 499 * @brief United Republic of Tanzania 500 * @var UA 501 * @brief Ukraine 502 * @var UG 503 * @brief Uganda 504 * @var UM 505 * @brief United States Minor Outlying Islands 506 * @var US 507 * @brief United States 508 * @var UY 509 * @brief Uruguay 510 * @var UZ 511 * @brief Uzbekistan 512 * @var VA 513 * @brief Holy See (Vatican City State) 514 * @var VC 515 * @brief Saint Vincent and The Grenadines 516 * @var VE 517 * @brief Bolivarian Republic of Venezuela 518 * @var VG 519 * @brief British Virgin Islands 520 * @var VI 521 * @brief U.S. Virgin Islands 522 * @var VN 523 * @brief Viet Nam 524 * @var VU 525 * @brief Vanuatu 526 * @var WF 527 * @brief Wallis and Futuna 528 * @var WS 529 * @brief Samoa 530 * @var YE 531 * @brief Yemen 532 * @var YT 533 * @brief Mayotte 534 * @var ZA 535 * @brief South Africa 536 * @var ZM 537 * @brief Zambia 538 * @var ZW 539 * @brief Zimbabwe 540 */ 541 enum dvb_country_t 542 { 543 COUNTRY_UNKNOWN = 0, 544 545 AD = 1, 546 AE = 2, 547 AF = 3, 548 AG = 4, 549 AI = 5, 550 AL = 6, 551 AM = 7, 552 AO = 8, 553 AQ = 9, 554 AR = 10, 555 AS = 11, 556 AT = 12, 557 AU = 13, 558 AW = 14, 559 AX = 15, 560 AZ = 16, 561 BA = 17, 562 BB = 18, 563 BD = 19, 564 BE = 20, 565 BF = 21, 566 BG = 22, 567 BH = 23, 568 BI = 24, 569 BJ = 25, 570 BL = 26, 571 BM = 27, 572 BN = 28, 573 BO = 29, 574 BQ = 30, 575 BR = 31, 576 BS = 32, 577 BT = 33, 578 BV = 34, 579 BW = 35, 580 BY = 36, 581 BZ = 37, 582 CA = 38, 583 CC = 39, 584 CD = 40, 585 CF = 41, 586 CG = 42, 587 CH = 43, 588 CI = 44, 589 CK = 45, 590 CL = 46, 591 CM = 47, 592 CN = 48, 593 CO = 49, 594 CR = 50, 595 CU = 51, 596 CV = 52, 597 CW = 53, 598 CX = 54, 599 CY = 55, 600 CZ = 56, 601 DE = 57, 602 DJ = 58, 603 DK = 59, 604 DM = 60, 605 DO = 61, 606 DZ = 62, 607 EC = 63, 608 EE = 64, 609 EG = 65, 610 EH = 66, 611 ER = 67, 612 ES = 68, 613 ET = 69, 614 FI = 70, 615 FJ = 71, 616 FK = 72, 617 FM = 73, 618 FO = 74, 619 FR = 75, 620 GA = 76, 621 GB = 77, 622 GD = 78, 623 GE = 79, 624 GF = 80, 625 GG = 81, 626 GH = 82, 627 GI = 83, 628 GL = 84, 629 GM = 85, 630 GN = 86, 631 GP = 87, 632 GQ = 88, 633 GR = 89, 634 GS = 90, 635 GT = 91, 636 GU = 92, 637 GW = 93, 638 GY = 94, 639 HK = 95, 640 HM = 96, 641 HN = 97, 642 HR = 98, 643 HT = 99, 644 HU = 100, 645 ID = 101, 646 IE = 102, 647 IL = 103, 648 IM = 104, 649 IN = 105, 650 IO = 106, 651 IQ = 107, 652 IR = 108, 653 IS = 109, 654 IT = 110, 655 JE = 111, 656 JM = 112, 657 JO = 113, 658 JP = 114, 659 KE = 115, 660 KG = 116, 661 KH = 117, 662 KI = 118, 663 KM = 119, 664 KN = 120, 665 KP = 121, 666 KR = 122, 667 KW = 123, 668 KY = 124, 669 KZ = 125, 670 LA = 126, 671 LB = 127, 672 LC = 128, 673 LI = 129, 674 LK = 130, 675 LR = 131, 676 LS = 132, 677 LT = 133, 678 LU = 134, 679 LV = 135, 680 LY = 136, 681 MA = 137, 682 MC = 138, 683 MD = 139, 684 ME = 140, 685 MF = 141, 686 MG = 142, 687 MH = 143, 688 MK = 144, 689 ML = 145, 690 MM = 146, 691 MN = 147, 692 MO = 148, 693 MP = 149, 694 MQ = 150, 695 MR = 151, 696 MS = 152, 697 MT = 153, 698 MU = 154, 699 MV = 155, 700 MW = 156, 701 MX = 157, 702 MY = 158, 703 MZ = 159, 704 NA = 160, 705 NC = 161, 706 NE = 162, 707 NF = 163, 708 NG = 164, 709 NI = 165, 710 NL = 166, 711 NO = 167, 712 NP = 168, 713 NR = 169, 714 NU = 170, 715 NZ = 171, 716 OM = 172, 717 PA = 173, 718 PE = 174, 719 PF = 175, 720 PG = 176, 721 PH = 177, 722 PK = 178, 723 PL = 179, 724 PM = 180, 725 PN = 181, 726 PR = 182, 727 PS = 183, 728 PT = 184, 729 PW = 185, 730 PY = 186, 731 QA = 187, 732 RE = 188, 733 RO = 189, 734 RS = 190, 735 RU = 191, 736 RW = 192, 737 SA = 193, 738 SB = 194, 739 SC = 195, 740 SD = 196, 741 SE = 197, 742 SG = 198, 743 SH = 199, 744 SI = 200, 745 SJ = 201, 746 SK = 202, 747 SL = 203, 748 SM = 204, 749 SN = 205, 750 SO = 206, 751 SR = 207, 752 SS = 208, 753 ST = 209, 754 SV = 210, 755 SX = 211, 756 SY = 212, 757 SZ = 213, 758 TC = 214, 759 TD = 215, 760 TF = 216, 761 TG = 217, 762 TH = 218, 763 TJ = 219, 764 TK = 220, 765 TL = 221, 766 TM = 222, 767 TN = 223, 768 TO = 224, 769 TR = 225, 770 TT = 226, 771 TV = 227, 772 TW = 228, 773 TZ = 229, 774 UA = 230, 775 UG = 231, 776 UM = 232, 777 US = 233, 778 UY = 234, 779 UZ = 235, 780 VA = 236, 781 VC = 237, 782 VE = 238, 783 VG = 239, 784 VI = 240, 785 VN = 241, 786 VU = 242, 787 WF = 243, 788 WS = 244, 789 YE = 245, 790 YT = 246, 791 ZA = 247, 792 ZM = 248, 793 ZW = 249 794 } 795 796 /** 797 * @brief Converts an Unix-like 2-letter Country code into enum dvb_country_t 798 * @ingroup ancillary 799 * 800 * @param name two-letter Country code. 801 * 802 * @return It returns the corresponding enum dvb_country_t ID. If not found, 803 * returns COUNTRY_UNKNOWN. 804 */ 805 dvb_country_t dvb_country_a2_to_id (const(char)* name); 806 807 /** 808 * @brief Converts a 3-letter Country code as used by MPEG-TS tables into 809 * enum dvb_country_t 810 * @ingroup ancillary 811 * 812 * @param name three-letter Country code. 813 * 814 * @return It returns the corresponding enum dvb_country_t ID. If not found, 815 * returns COUNTRY_UNKNOWN. 816 */ 817 dvb_country_t dvb_country_a3_to_id (const(char)* name); 818 819 /** 820 * @brief Converts an enum dvb_country_t into Unix-like 2-letter Country code 821 * @ingroup ancillary 822 * 823 * @param id enum dvb_country_t ID. 824 * 825 * @return It returns the 2-letter country code string that corresponts to the 826 * Country. If not found, returns NULL. 827 */ 828 const(char)* dvb_country_to_2letters (int id); 829 830 /** 831 * @brief Converts an enum dvb_country_t into a 3-letter Country code 832 * as used by MPEG-TS tables 833 * @ingroup ancillary 834 * 835 * @param id enum dvb_country_t ID. 836 * 837 * @return It returns the 3-letter country code string that corresponts to the 838 * Country. If not found, returns NULL. 839 */ 840 const(char)* dvb_country_to_3letters (int id); 841 842 /** 843 * @brief Converts an enum dvb_country_t into a Country name 844 * as used by MPEG-TS tables 845 * @ingroup ancillary 846 * 847 * @param id enum dvb_country_t ID. 848 * 849 * @return It returns a string with the Country name that corresponts to the 850 * country. If not found, returns NULL. 851 */ 852 const(char)* dvb_country_to_name (int id); 853 854 /** 855 * @brief Guess the country code from the Unix environment variables 856 * @ingroup ancillary 857 * 858 * @return It returns the corresponding enum dvb_country_t ID. If not found, 859 * returns COUNTRY_UNKNOWN. 860 */ 861 dvb_country_t dvb_guess_user_country (); 862